package com.aihome.springbootmybatisplus.service;

import com.aihome.springbootmybatisplus.entity.Member;
import com.aihome.springbootmybatisplus.query.MemberQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhangjigang
 * @since 2021-04-27
 */
public interface MemberService extends IService<Member> {

    /**
     * 添加用户
     *
     * @param member 用户信息
     * @return 主键id
     */
    Integer addMember(Member member);

    /**
     * 批量新增
     *
     * @param list 批量用户信息
     * @return 添加结果
     */
    Integer addMemberBatch(List<Member> list);

    /**
     * 修改用户
     *
     * @param member 用户信息
     * @return 主键id
     */
    Integer updateMember(Member member);

    /**
     * 删除用户
     *
     * @param id 主键id
     * @return 主键id
     */
    Integer deleteMember(Integer id);

    /**
     * 查找单个用户
     *
     * @param member 查询用户条件
     * @return 用户信息
     */
    Member findMember(Member member);

    /**
     * 查询全部用户
     *
     * @param member 查询用户条件
     * @return 所有用户信息
     */
    List<Member> findMemberForList(Member member);

    /**
     * 分页查询用户
     *
     * @param memberQuery 查询条件
     * @return 分页信息
     */
    Page<Member> findMemberForPage(MemberQuery memberQuery);

    /**
     * 分页查询pagehelp
     *
     * @param memberQuery 查询条件
     * @return 分页信息
     */
    PageInfo<Member> findMemberForPage2(MemberQuery memberQuery);
}
